#pragma once

#include "Catentacle/Core/Base.h"
#include "Catentacle/Core/Application.h"

#ifdef CT_PLATFORM_WINDOWS

extern Catentacle::Application* Catentacle::CreateApplication(ApplicationCommandLineArgs args);

int main(int argc, char** argv)
{
	Catentacle::Log::Init();

	CT_PROFILE_BEGIN_SESSION("Startup", "CatentacleProfile-Startup.json");
	auto app = Catentacle::CreateApplication({ argc, argv });
	CT_PROFILE_END_SESSION();

	CT_PROFILE_BEGIN_SESSION("Runtiem", "CatentacleProfile-Runtiem.json");
	app->Run();
	CT_PROFILE_END_SESSION();

	CT_PROFILE_BEGIN_SESSION("Shutdown", "CatentacleProfile-Shutdown.json");
	delete app;
	CT_PROFILE_END_SESSION();
}

#endif